perm filename PAS.HLP[S,DOC]2 blob sn#470982 filedate 1979-08-31 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00005 00003	    A PAS command consists of "R PAS" followed by a FILENAME followed by
C00009 00004	ROUTING SWTICHES
C00010 ENDMK
C⊗;

    I was typing [DO,S1] for the 2,436th time two days ago, and decided  I
couldn't take it any more.  The result is PAS, a combination of SNAIL  and
DO that can be used to compile and run Pascal and Fortran programs at SAIL
using the S-1 Pascal system.

    Some examples:


   R PAS;FNAME	 (compiles FNAME.PAS or FNAME.FOR and runs it on the simulator)
   EX		 (usually re-executes last PAS command (also control-X G from 
		  the editor))
   R PAS         (ALWAYS re-executes the last PAS command)
   R PAS;FNAME.PCO   (put FNAME.PCO through SOPA and run it on the simulator)
   R PAS;FNAME/PS1/E    (translate FNAME.PAS to FNAME.PS1 and edit the result)
   R PAS;FNAME/OUT	(compile and run FNAME.PAS, feeding FNAME.OUT to FSIM
			 for the Pascal output file)
   R PAS;FNAME.LDI/TTYOUT  (run FNAME.LDI on simulator, use "TTY:" for output)
   R PAS;FNAME/U     (use U-code system instead of P-code system)
   R PAS;FNAME/O     (run U-code through the optimizer)
   R PAS;FNAME/INT/E (compile FNAME.PAS into U-code, run it on the interpreter,
	 	      using FNAME.OUT for OUTPUT, then look at the result)
   R PAS;FNAME/LDI/D (don't say "END" to debugger when running SOPA (D stands
		      for "DEBUG")
   R PAS;FNAME.LDI/FOR/RIM   (load FNAME.LDI using Fortran run-times and write
			      out the RIM file)
   R PAS;FNAME/C128     (increase core for PCPASC and SOPA to 128K)
   R PAS;FNAME/CF100000  (when running on simulator, increase core to 100000)
   R PAS:FNAME/OLD/S1WORD    (use old SOPA, PCPASC, and runtime (PASSIX), and
			      also load S1WORD)
   R PAS;?	     (display HELP file)

   More details are on next page.
    A PAS command consists of "R PAS;" followed by a FILENAME followed by
any number of SWITCHES.

    The last PAS command can be re-executed by typing "R PAS".  It can also
be re-executed by typing "EX" or control-x followed by "G" to the editor
PROVIDING you have not done any compilation with any other compilers or used
DO, DRD, or PUB since your last PAS command.


    FILENAMES
    ---------

    A filename is of the form FNAME.EXT[PRJ,PRG], where anything except FNAME
is optional.  EXT may be any one of the following: PAS, FOR, PCO, UCO, LDI.
If you leave out EXT, PAS will try out those extensions in that order until
it finds a file. 

    All further files in a chain (FNAME.PCO, FNAME.LDI, etc.) will be written
to your current area, not to [PRJ,PRG].


    TERMINATION FILES and MODES
    ---------------------------

    If you want to look at some intermediate results instead of going through
the whole chain, you can specify a termination file and termination mode.  

Possible termination files are:  /PCO, /UCO, /LDI, /OP, /PS1, /RIM, /IN, /OUT, /RUN, /TTYIN, /TTYOUT, /RUNTTY.

The two special termination modes are E (edit) and D (debug).  E means that
you want to edit the termination file afterwards.  D means that you want to
debug the program that generates the termination file (or the last program, 
if no termination file.)  This means and "END" will not be generated for
a Pascal program, and a αg will not be generated for the simulator.

   Special termination files:

   OP is the optimizer trace file.  It includes the original Pascal program,
the original U-code file, and results of each successive phase of optimization.

   RIM causes a FNAME.RIM to be written out by FSIM after it has loaded FNAME.LDI.

   IN and OUT can be used to specify default input and output files to the
simulator or interpreter.  For instance,"R PAS;FNAME/OUT" will cause PAS to
feed FNAME.OUT to the simulator or interpreter for the name of file OUTPUT.
"RUN" means to use the file FNAME.RUN  for Fortran run-time messages.  

   TTYIN, TTYOUT, and TTYRUN means to use the TTY instead of a file for
input, output, or Fortran run-time messages.

ROUTING SWTICHES
----------------

	/O   	run U-code through optimizer
	/U      use U-code rather than P-code
	/UPAS   use UPAS rather than PCPASC and PTRANS
	/INT    use interpreter rather than SOPU and the simulator
	/FOR	use Fortran run-times
	/OLD	use old (pre-set change) PCPASC,SOPA,and runtimes
	/S1WORD also load S1WORD

OTHER SWITCHES
--------------

	/Cn     increases core to n when running translator programs
	/CFn    increases core to n when running on simulator (using
		αxCORE command)
	/XX	print all commands in the chain instead of feeding them
		to TTY input buffer (for debugging)